package com.gitee.qdbp.general.common.api.settings.model;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import com.gitee.qdbp.general.common.enums.AreaType;

/**
 * 行政区划查询类
 *
 * @author zhh
 * @version 180514
 */
public class AreaDivisionWhere extends AreaDivisionBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 区域ID列表 **/
    private List<String> ids;

    /** 区域ID前模匹配条件 **/
    private String idStarts;

    /** 区域ID后模匹配条件 **/
    private String idEnds;

    /** 区域ID模糊查询条件 **/
    private String idLike;

    /** 使用场景空值/非空值查询 **/
    private Boolean sceneTypeIsNull;

    /** 使用场景前模匹配条件 **/
    private String sceneTypeStarts;

    /** 使用场景后模匹配条件 **/
    private String sceneTypeEnds;

    /** 使用场景模糊查询条件 **/
    private String sceneTypeLike;

    /** 区域编号空值/非空值查询 **/
    private Boolean areaCodeIsNull;

    /** 区域编号列表 **/
    private List<String> areaCodes;

    /** 区域编号前模匹配条件 **/
    private String areaCodeStarts;

    /** 区域编号后模匹配条件 **/
    private String areaCodeEnds;

    /** 区域编号模糊查询条件 **/
    private String areaCodeLike;

    /** 区域名称空值/非空值查询 **/
    private Boolean areaNameIsNull;

    /** 区域名称前模匹配条件 **/
    private String areaNameStarts;

    /** 区域名称后模匹配条件 **/
    private String areaNameEnds;

    /** 区域名称模糊查询条件 **/
    private String areaNameLike;

    /** 区域简称空值/非空值查询 **/
    private Boolean shortNameIsNull;

    /** 区域简称前模匹配条件 **/
    private String shortNameStarts;

    /** 区域简称后模匹配条件 **/
    private String shortNameEnds;

    /** 区域简称模糊查询条件 **/
    private String shortNameLike;

    /** 上级行政区编号空值/非空值查询 **/
    private Boolean parentCodeIsNull;

    /** 上级行政区编号前模匹配条件 **/
    private String parentCodeStarts;

    /** 上级行政区编号后模匹配条件 **/
    private String parentCodeEnds;

    /** 上级行政区编号模糊查询条件 **/
    private String parentCodeLike;

    /** 排序(越小越靠前)空值/非空值查询 **/
    private Boolean sortIndexIsNull;

    /** 最小排序(越小越靠前) **/
    private Integer sortIndexMin;

    /** 最大排序(越小越靠前) **/
    private Integer sortIndexMax;

    /** 类型(0.国|1.省|2.市|3.区/县)空值/非空值查询 **/
    private Boolean typeIsNull;

    /** 类型(0.国|1.省|2.市|3.区/县)列表 **/
    private List<AreaType> types;

    /** 查询字符串空值/非空值查询 **/
    private Boolean queryStringIsNull;

    /** 查询字符串前模匹配条件 **/
    private String queryStringStarts;

    /** 查询字符串后模匹配条件 **/
    private String queryStringEnds;

    /** 查询字符串模糊查询条件 **/
    private String queryStringLike;

    /** 最小创建时间 **/
    private Date createTimeMin;

    /** 最大创建时间 **/
    private Date createTimeMax;

    /** 最小创建时间 **/
    private Date createTimeMinWithDay;

    /** 最大创建时间 **/
    private Date createTimeMaxWithDay;

    /** 最小更新时间 **/
    private Date updateTimeMin;

    /** 最大更新时间 **/
    private Date updateTimeMax;

    /** 最小更新时间 **/
    private Date updateTimeMinWithDay;

    /** 最大更新时间 **/
    private Date updateTimeMaxWithDay;

    /** 选项空值/非空值查询 **/
    private Boolean optionsIsNull;

    /** 获取区域ID列表 **/
    public List<String> getIds() {
        return ids;
    }

    /** 设置区域ID列表 **/
    public void setIds(List<String> ids) {
        this.ids = ids;
    }

    /** 增加区域ID **/
    public void addId(String... ids) {
        if (this.ids == null) {
            this.ids = new ArrayList<>();
        }
        this.ids.addAll(Arrays.asList(ids));
    }

    /** 获取区域ID前模匹配条件 **/
    public String getIdStarts() {
        return idStarts;
    }

    /** 设置区域ID前模匹配条件 **/
    public void setIdStarts(String idStarts) {
        this.idStarts = idStarts;
    }

    /** 获取区域ID后模匹配条件 **/
    public String getIdEnds() {
        return idEnds;
    }

    /** 设置区域ID后模匹配条件 **/
    public void setIdEnds(String idEnds) {
        this.idEnds = idEnds;
    }

    /** 获取区域ID模糊查询条件 **/
    public String getIdLike() {
        return idLike;
    }

    /** 设置区域ID模糊查询条件 **/
    public void setIdLike(String idLike) {
        this.idLike = idLike;
    }

    /** 判断使用场景是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getSceneTypeIsNull() {
        return sceneTypeIsNull;
    }

    /**
     * 设置使用场景空值查询(true:空值查询|false:非空值查询)
     *
     * @param sceneTypeIsNull 使用场景空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSceneTypeIsNull(Boolean sceneTypeIsNull) {
        this.sceneTypeIsNull = sceneTypeIsNull;
    }

    /** 获取使用场景前模匹配条件 **/
    public String getSceneTypeStarts() {
        return sceneTypeStarts;
    }

    /** 设置使用场景前模匹配条件 **/
    public void setSceneTypeStarts(String sceneTypeStarts) {
        this.sceneTypeStarts = sceneTypeStarts;
    }

    /** 获取使用场景后模匹配条件 **/
    public String getSceneTypeEnds() {
        return sceneTypeEnds;
    }

    /** 设置使用场景后模匹配条件 **/
    public void setSceneTypeEnds(String sceneTypeEnds) {
        this.sceneTypeEnds = sceneTypeEnds;
    }

    /** 获取使用场景模糊查询条件 **/
    public String getSceneTypeLike() {
        return sceneTypeLike;
    }

    /** 设置使用场景模糊查询条件 **/
    public void setSceneTypeLike(String sceneTypeLike) {
        this.sceneTypeLike = sceneTypeLike;
    }

    /** 判断区域编号是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getAreaCodeIsNull() {
        return areaCodeIsNull;
    }

    /**
     * 设置区域编号空值查询(true:空值查询|false:非空值查询)
     *
     * @param areaCodeIsNull 区域编号空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setAreaCodeIsNull(Boolean areaCodeIsNull) {
        this.areaCodeIsNull = areaCodeIsNull;
    }

    /** 获取区域编号列表 **/
    public List<String> getAreaCodes() {
        return areaCodes;
    }

    /** 设置区域编号列表 **/
    public void setAreaCodes(List<String> areaCodes) {
        this.areaCodes = areaCodes;
    }

    /** 增加区域编号 **/
    public void addAreaCode(String... areaCodes) {
        if (this.areaCodes == null) {
            this.areaCodes = new ArrayList<>();
        }
        this.areaCodes.addAll(Arrays.asList(areaCodes));
    }

    /** 获取区域编号前模匹配条件 **/
    public String getAreaCodeStarts() {
        return areaCodeStarts;
    }

    /** 设置区域编号前模匹配条件 **/
    public void setAreaCodeStarts(String areaCodeStarts) {
        this.areaCodeStarts = areaCodeStarts;
    }

    /** 获取区域编号后模匹配条件 **/
    public String getAreaCodeEnds() {
        return areaCodeEnds;
    }

    /** 设置区域编号后模匹配条件 **/
    public void setAreaCodeEnds(String areaCodeEnds) {
        this.areaCodeEnds = areaCodeEnds;
    }

    /** 获取区域编号模糊查询条件 **/
    public String getAreaCodeLike() {
        return areaCodeLike;
    }

    /** 设置区域编号模糊查询条件 **/
    public void setAreaCodeLike(String areaCodeLike) {
        this.areaCodeLike = areaCodeLike;
    }

    /** 判断区域名称是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getAreaNameIsNull() {
        return areaNameIsNull;
    }

    /**
     * 设置区域名称空值查询(true:空值查询|false:非空值查询)
     *
     * @param areaNameIsNull 区域名称空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setAreaNameIsNull(Boolean areaNameIsNull) {
        this.areaNameIsNull = areaNameIsNull;
    }

    /** 获取区域名称前模匹配条件 **/
    public String getAreaNameStarts() {
        return areaNameStarts;
    }

    /** 设置区域名称前模匹配条件 **/
    public void setAreaNameStarts(String areaNameStarts) {
        this.areaNameStarts = areaNameStarts;
    }

    /** 获取区域名称后模匹配条件 **/
    public String getAreaNameEnds() {
        return areaNameEnds;
    }

    /** 设置区域名称后模匹配条件 **/
    public void setAreaNameEnds(String areaNameEnds) {
        this.areaNameEnds = areaNameEnds;
    }

    /** 获取区域名称模糊查询条件 **/
    public String getAreaNameLike() {
        return areaNameLike;
    }

    /** 设置区域名称模糊查询条件 **/
    public void setAreaNameLike(String areaNameLike) {
        this.areaNameLike = areaNameLike;
    }

    /** 判断区域简称是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getShortNameIsNull() {
        return shortNameIsNull;
    }

    /**
     * 设置区域简称空值查询(true:空值查询|false:非空值查询)
     *
     * @param shortNameIsNull 区域简称空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setShortNameIsNull(Boolean shortNameIsNull) {
        this.shortNameIsNull = shortNameIsNull;
    }

    /** 获取区域简称前模匹配条件 **/
    public String getShortNameStarts() {
        return shortNameStarts;
    }

    /** 设置区域简称前模匹配条件 **/
    public void setShortNameStarts(String shortNameStarts) {
        this.shortNameStarts = shortNameStarts;
    }

    /** 获取区域简称后模匹配条件 **/
    public String getShortNameEnds() {
        return shortNameEnds;
    }

    /** 设置区域简称后模匹配条件 **/
    public void setShortNameEnds(String shortNameEnds) {
        this.shortNameEnds = shortNameEnds;
    }

    /** 获取区域简称模糊查询条件 **/
    public String getShortNameLike() {
        return shortNameLike;
    }

    /** 设置区域简称模糊查询条件 **/
    public void setShortNameLike(String shortNameLike) {
        this.shortNameLike = shortNameLike;
    }

    /** 判断上级行政区编号是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getParentCodeIsNull() {
        return parentCodeIsNull;
    }

    /** 设置上级行政区编号空值查询(true:空值查询|false:非空值查询) **/
    public void setParentCodeIsNull(Boolean parentCodeIsNull) {
        this.parentCodeIsNull = parentCodeIsNull;
    }

    /** 获取上级行政区编号前模匹配条件 **/
    public String getParentCodeStarts() {
        return parentCodeStarts;
    }

    /** 设置上级行政区编号前模匹配条件 **/
    public void setParentCodeStarts(String parentCodeStarts) {
        this.parentCodeStarts = parentCodeStarts;
    }

    /** 获取上级行政区编号后模匹配条件 **/
    public String getParentCodeEnds() {
        return parentCodeEnds;
    }

    /** 设置上级行政区编号后模匹配条件 **/
    public void setParentCodeEnds(String parentCodeEnds) {
        this.parentCodeEnds = parentCodeEnds;
    }

    /** 获取上级行政区编号模糊查询条件 **/
    public String getParentCodeLike() {
        return parentCodeLike;
    }

    /** 设置上级行政区编号模糊查询条件 **/
    public void setParentCodeLike(String parentCodeLike) {
        this.parentCodeLike = parentCodeLike;
    }

    /** 判断排序(越小越靠前)是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getSortIndexIsNull() {
        return sortIndexIsNull;
    }

    /**
     * 设置排序(越小越靠前)空值查询(true:空值查询|false:非空值查询)
     *
     * @param sortIndexIsNull 排序(越小越靠前)空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSortIndexIsNull(Boolean sortIndexIsNull) {
        this.sortIndexIsNull = sortIndexIsNull;
    }

    /** 获取最小排序(越小越靠前) **/
    public Integer getSortIndexMin() {
        return sortIndexMin;
    }

    /** 设置最小排序(越小越靠前) **/
    public void setSortIndexMin(Integer sortIndexMin) {
        this.sortIndexMin = sortIndexMin;
    }

    /** 获取最大排序(越小越靠前) **/
    public Integer getSortIndexMax() {
        return sortIndexMax;
    }

    /** 设置最大排序(越小越靠前) **/
    public void setSortIndexMax(Integer sortIndexMax) {
        this.sortIndexMax = sortIndexMax;
    }

    /** 判断类型(0.国|1.省|2.市|3.区/县)是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getTypeIsNull() {
        return typeIsNull;
    }

    /**
     * 设置类型(0.国|1.省|2.市|3.区/县)空值查询(true:空值查询|false:非空值查询)
     *
     * @param typeIsNull 类型(0.国|1.省|2.市|3.区/县)空值查询
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTypeIsNull(Boolean typeIsNull) {
        this.typeIsNull = typeIsNull;
    }

    /** 获取类型(0.国|1.省|2.市|3.区/县)列表 **/
    public List<AreaType> getTypes() {
        return types;
    }

    /** 设置类型(0.国|1.省|2.市|3.区/县)列表 **/
    public void setTypes(List<AreaType> types) {
        this.types = types;
    }

    /** 增加类型(0.国|1.省|2.市|3.区/县) **/
    public void addType(AreaType... types) {
        if (this.types == null) {
            this.types = new ArrayList<>();
        }
        this.types.addAll(Arrays.asList(types));
    }

    /** 判断查询字符串是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getQueryStringIsNull() {
        return queryStringIsNull;
    }

    /** 设置查询字符串空值查询(true:空值查询|false:非空值查询) **/
    public void setQueryStringIsNull(Boolean queryStringIsNull) {
        this.queryStringIsNull = queryStringIsNull;
    }

    /** 获取查询字符串前模匹配条件 **/
    public String getQueryStringStarts() {
        return queryStringStarts;
    }

    /** 设置查询字符串前模匹配条件 **/
    public void setQueryStringStarts(String queryStringStarts) {
        this.queryStringStarts = queryStringStarts;
    }

    /** 获取查询字符串后模匹配条件 **/
    public String getQueryStringEnds() {
        return queryStringEnds;
    }

    /** 设置查询字符串后模匹配条件 **/
    public void setQueryStringEnds(String queryStringEnds) {
        this.queryStringEnds = queryStringEnds;
    }

    /** 获取查询字符串模糊查询条件 **/
    public String getQueryStringLike() {
        return queryStringLike;
    }

    /** 设置查询字符串模糊查询条件 **/
    public void setQueryStringLike(String queryStringLike) {
        this.queryStringLike = queryStringLike;
    }

    /** 获取最小创建时间 **/
    public Date getCreateTimeMin() {
        return createTimeMin;
    }

    /** 设置最小创建时间 **/
    public void setCreateTimeMin(Date createTimeMin) {
        this.createTimeMin = createTimeMin;
    }

    /** 获取最大创建时间 **/
    public Date getCreateTimeMax() {
        return createTimeMax;
    }

    /** 设置最大创建时间 **/
    public void setCreateTimeMax(Date createTimeMax) {
        this.createTimeMax = createTimeMax;
    }

    /** 获取最小创建时间 **/
    public Date getCreateTimeMinWithDay() {
        return createTimeMinWithDay;
    }

    /** 设置最小创建时间 **/
    public void setCreateTimeMinWithDay(Date createTimeMinWithDay) {
        this.createTimeMinWithDay = createTimeMinWithDay;
    }

    /** 获取最大创建时间 **/
    public Date getCreateTimeMaxWithDay() {
        return createTimeMaxWithDay;
    }

    /** 设置最大创建时间 **/
    public void setCreateTimeMaxWithDay(Date createTimeMaxWithDay) {
        this.createTimeMaxWithDay = createTimeMaxWithDay;
    }

    /** 获取最小更新时间 **/
    public Date getUpdateTimeMin() {
        return updateTimeMin;
    }

    /** 设置最小更新时间 **/
    public void setUpdateTimeMin(Date updateTimeMin) {
        this.updateTimeMin = updateTimeMin;
    }

    /** 获取最大更新时间 **/
    public Date getUpdateTimeMax() {
        return updateTimeMax;
    }

    /** 设置最大更新时间 **/
    public void setUpdateTimeMax(Date updateTimeMax) {
        this.updateTimeMax = updateTimeMax;
    }

    /** 获取最小更新时间 **/
    public Date getUpdateTimeMinWithDay() {
        return updateTimeMinWithDay;
    }

    /** 设置最小更新时间 **/
    public void setUpdateTimeMinWithDay(Date updateTimeMinWithDay) {
        this.updateTimeMinWithDay = updateTimeMinWithDay;
    }

    /** 获取最大更新时间 **/
    public Date getUpdateTimeMaxWithDay() {
        return updateTimeMaxWithDay;
    }

    /** 设置最大更新时间 **/
    public void setUpdateTimeMaxWithDay(Date updateTimeMaxWithDay) {
        this.updateTimeMaxWithDay = updateTimeMaxWithDay;
    }

    /** 判断选项是否为空值查询(true:空值查询|false:非空值查询) **/
    public Boolean getOptionsIsNull() {
        return optionsIsNull;
    }

    /** 设置选项空值查询(true:空值查询|false:非空值查询) **/
    public void setOptionsIsNull(Boolean optionsIsNull) {
        this.optionsIsNull = optionsIsNull;
    }

}